This invention relates to a high speed processing system for an information processing system which infers a new fact and hypothesis from the laws of experience and nature, and initial fact (such an inferrence is called "production"), and more particularly to a high speed processing system for use in a computer system for high speed inferrence. This processing system is preferably used when the computer system requires long times to operate because of its large scale or its high degree of complexity or, it requires real time performance.
In order to carry out inferrence processing on the basis of rules and facts, the above production system determines inferrence executing rules by taking a match between all rules and all facts for each cycle of inferrence processing, but this production system is not effectively used in a practical scale of a computer system since the increase of rules and facts gives rise to an abrupt increase of inferrence time.
The system using the coding of rules and facts and its indexing has been adopted to obviate the abrupt increase of inferrence time. This system exhibits an excellent efficiency and wide application when using a discrimination net. However, this system using a discrimination net may also find difficulty in practical real time processing applications since the discrimination net provides a large overhead. The overhead may become prohibitively large depending on the characteristic of the condition of items of the rules.
The following system which is a kind of filter has been proposed: The rule is accompanied by a counter, the initial value of which is set to the number of if-items (referred to as condition items) of the rule; the counter is counted down by 1 when a fact similar to each if-item of this rule is added to a working memory which is a pool for facts, while the counter is counted up by 1 when the above fact is removed; this rule is added as a member of a group of possible execution rules when the count becomes zero or minus; and then a more complete execution check is carried out. However this system provides poor efficiency. This is due to the following reasons: When there are continuously added facts corresponding to the case where the values of the variables of the same condition item are different, the above counter becomes always zero or minus; and so the rule whose other if-items remain empty of fact property is added to the possible executable rule set; and there occurs a loss when it is determined that the executing condition is not satisfied, since all possible combinations of variables are attempted. Also, in this system there can only be found similar if-items so that there may occur an unsatisfactory result that a rule not satisfying the execution condition may be added to the possibly executable rules, and also, even a rule satisfying the execution condition may be removed from the possibly executable rules in some cases.